iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
Software Development

30 天打造 RPA 自動化流程:Power Automate 從入門到實戰系列 第 15

Power Automate Desktop:克服常見網頁元素抓取錯誤 - RPA Challenge(1)

  • 分享至 

  • xImage
  •  

一、前言

在 RPA 的世界中,處理網頁的動態元素通常被視為最難處理的功能,特別是在面對 RPA Challenge 這樣的動態網頁時,一般的 UI 元素抓取方式經常會出現錯誤。這篇文章我們就要來解決這類網站的問題,而由於此網站的複雜度較高,為清楚介紹每個細節步驟內容,會將文章拆分為兩篇進行說明。這篇文章會先進行挑戰項目的背景簡述,以及大致如何拆分此支自動化流程;下一篇文章則會針對「selector」的這個 RPA 功能進行詳細說明。

二、示範情境:RPA Challenge 的網頁自動化挑戰

RPA Challenge 是一個設計用來測試和提升 RPA 技術的網站,是業界在設計 RPA Selector 練習場景時會第一個想到的經典網站,原因是該網站的 UI 元素是浮動 ID,無法透過一般的方法完成元素抓取。

該網站的左側有個 DOWNLOAD EXCEL 的字樣需先下載 Excel 檔案(內容如下圖),當下載完成後點下 Start 就會開始挑戰。網站會動態於網站右側生成網頁表單,並要求挑戰者依據 Excel 的內容自動化輸入資料,共有 10 份表單需填寫送出,10 份表單內容均填寫正確後,系統會顯示 100% 正確率。
https://ithelp.ithome.com.tw/upload/images/20240929/20169459udSt4xUuOB.png

而當每提交一次表單時,表單的欄位順序和 ID 都會發生變動,因此有別於一般的 RPA 網頁爬蟲技術,需要透過 RPA 的 selector 抓取方式才能正確讀到不同欄位。

透過圖片可以更好的觀察差異之處。比較下方兩張圖片,雖然同是 Address 的欄位,但經過網頁重整後,不光位置改變(紅框處),連同 ID 也改變了(圖片右側劃記黃色螢光處)。
https://ithelp.ithome.com.tw/upload/images/20240929/20169459PuTMzch7QQ.png
https://ithelp.ithome.com.tw/upload/images/20240929/20169459fKyyj9YNZF.png

三、實作流程設計

其實要完成 RPA Challenge 有非常多方法可達成,可以建立新資料表直接放入抓好的 UI 元素的標籤,也可以透過以下較好懂的方式一步步為 Excel 欄位建立不同的名稱,不變的共同點在於後方流程都是要克服浮動 ID 的特性,透過 selector 將值輸入到正確欄位。

  • 啟動新的 Chrome
    • 將連結導至 RPA Challenge 的網站
  • 啟動 Excel
    • 打開 RPA Challenge 提供的 Excel 檔案
  • 讀取自 Excel 工作表
    • 讀取該 Excel 的儲存格值
    • 可點選進階,並勾選「第一個行範圍包含欄名稱」,第一行就不會被讀取為資料表的資料
  • 按一下網頁上的連結
    • 點選左側的 Start
  • 設定變數
    • 設定 loop 的 Index 值以套用至 For each
  • For each
    • 設定變數
      • 分別針對 7 個表單欄位設定變數
      • 變數的填寫值:ExcelData[Index][0]意思是從 Excel 讀取的資料表格數據中,取出第幾行的值(Index),並搭配指定抓取的第幾行->0 代表 Excel 第一列的內容,1 代表 Excel 第二列的內容
    • 填入網頁上的文字欄位
      • 根據這 7 個變數填入對應的欄位
    • 設定變數
      • 值:Index +1,以自動進入下一個 loop 的表單填寫
    • 按一下網頁上的連結
      • 點選送出表單的 Submit
        https://ithelp.ithome.com.tw/upload/images/20240929/20169459Lk6RvvX5QE.pnghttps://ithelp.ithome.com.tw/upload/images/20240929/20169459bPdog4JYMc.png

四、小結

本文介紹了 RPA Challenge 的網站特性及其應用場景,以及若要成功自動化挑戰 RPA Challenge 這個網站,可以如何撰寫腳本流程。下一篇文章,我會延續這篇文章的內容,並進一步分享 Selector 在 RPA Challenge,Power Automate Desktop 的具體使用方式,可以如何克服浮動 ID 的抓取失敗問題。

文章同步刊載於此


上一篇
Power Automate Desktop:網頁爬蟲實作
下一篇
Power Automate Desktop:克服常見網頁元素抓取錯誤 - RPA Challenge(2)
系列文
30 天打造 RPA 自動化流程:Power Automate 從入門到實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言